#ifndef SEARCHTASK_H
#define SEARCHTASK_H

#include <string>
#include <vector>

#include <boost/shared_ptr.hpp>

#include "SearchType.h"

/**
 *
 */
class SearchTask
{
public  :
    typedef std::vector<char> ByteArray; // TODO: what about types

    /**
     * @param bFile
     *      true - path is file
     *      false = path is filename
     */
    SearchTask(const std::string & path);
    SearchTask(ByteArray & byteArray);

    ByteArray & getByteArray();
    const std::string  & getFilename() const;
    SearchType getType() const;

private :
    const SearchType m_type;
    const std::string m_filename;
    ByteArray m_byteArray;
};

typedef boost::shared_ptr<SearchTask> SearchTaskPtr;

#endif // SEARCHTASK_H
